$(function () {
    var liIndex = "";  //当前 选中的的标签的 索引
    var thisLi = "";  //当前选取的标签
    var xheight = "";  //当前选取的标签的父親的高度
    var xhparent = ""; //当前选取的父親标签
    //点击内容  开始编辑模式
    $("li").on('click', '.isEdit,.ncsdIsEdit', function (e) {
        $(".tool").hide();
        //   $("li").removeAttr("contentEditable");
        $(this).attr("contentEditable", true);
        $(this).css(" -webkit-user-select", "text");
        //防止事件冒泡到DOM树上，也就是不触发的任何前辈元素上的事件处理函数。
        e.stopPropagation();
    });
    // 判断是否是鼠标右键  弹出工具栏
    $("li").on('mousedown', '.isEdit,.ncsdIsEdit', function (event, a) {
        $(".isEdit,.ncsdIsEdit").removeAttr("data-state");
        if (event.which == 3 || a == 'right') {
            var mousePos = getMousePos(event);
            $(".tool").css("left", mousePos.x + "px").css("top", mousePos.y + "px").show();
            thisLi = $(this);
            xhparent = $(this).parent();
            event.stopPropagation();
        }

    });

    /**单击鼠标右键 弹出的操作菜单
     * @param classType  当前class
     * @param type   1向下插入,2向上插入.3删除
     */
    $(".tool_sel").on('click', function (e) {
        //获取当前标签的 class
        var classType = thisLi.attr("class");
        //获得工具菜单的 类型  1向下插入,2向上插入.3删除
        var typeVal = $(this).attr("data-type");
        //  1向下插入,2向上插入.3删除
        secondaryData(classType, typeVal);
        $(".tool").hide();

    });

    /**数值    分值    分级    详细说明插入
     *
     * @param classType  当前class
     * @param type   1向下插入,2向上插入.3删除
     */
    function secondaryData(classType, type) {

        liIndex = 0;
        // 如果class 是ncsdIsEdit  则 要增加或者删除4列
        if (classType == "ncsdIsEdit") {
            //
            thisLi.attr("data-state", "0")
            var lis = thisLi.parent().find("li");
            lis.each(function (index, item) {
                var state = $(item).attr("data-state");
                if (state == 0) {
                    liIndex = index;

                }
            });

            //得到当前要复制的父级结构
            var parentDj = thisLi.parent().parent().parent();
            //
            var numericalValue = parentDj.find(".numericalValue>ul li").eq(liIndex);
            var score = parentDj.find(".score>ul li").eq(liIndex);
            var systematics = parentDj.find(".systematics>ul li").eq(liIndex);
            var detailedDescription = parentDj.find(".detailedDescription>ul li").eq(liIndex);

            if (type == 1) {
                addAfter(numericalValue, classType, 1);
                addAfter(score, classType, 1);
                addAfter(systematics, classType, 1);
                addAfter(detailedDescription, classType, 1);
            } else if (type == 2) {
                addBefore(numericalValue, classType, 1);
                addBefore(score, classType, 1);
                addBefore(systematics, classType, 1);
                addBefore(detailedDescription, classType, 1);
            } else if (type == 3) {
                delLabel(numericalValue, classType, 1);
                delLabel(score, classType, 1);
                delLabel(systematics, classType, 1);
                delLabel(detailedDescription, classType, 1);
            }
        }

        // 如果class isEdit  则 要增加或者删除1列
        if (classType.indexOf("isEdit") != -1 || classType == "isEdit") {
            if (classType.indexOf("chemistry") != -1) {
                //当前所在的的 最终父标签
                var parentUl = thisLi.parent().parent().parent();
                $(parentUl).attr("data-state", "0");
                let data = {
                    list: ["chemistry_index", "chemistry"]
                };
                let html = template('temp_quota', data);

                if (type == 1) {
                    addAfter(parentUl, html, 2);
                } else if (type == 2) {
                    addBefore(parentUl, html, 2);
                } else if (type == 3) {
                    delLabel(parentUl, html, 2);

                }
            }
        }
        debugger
        xheight = xhparent.height();
        setKG(xheight);

    }

    //向前插入
    function addBefore(the, className, type) {
        // 内-前面 插入内容
        if (type == 1) {
            $(the).before('<li class="' + className + '"></li>');
        } else {
            // 内-前面 插入内容
            $(the).before(className);
        }
        $(the).removeAttr("data-state");

    }

    //向后插入
    function addAfter(the, className, type) {
        //  内-前面 插入内容
        if (type == 1) {
            $(the).after('<li class="' + className + '"></li>');
        } else {
            // 内-后面 插入内容
            $(the).after(className);
        }
        $(the).removeAttr("data-state");

    }

    //删除
    function delLabel(the) {
        $(the).remove();
    }

    //设置宽和高
    function setKG(the) {
        //一级指标，权值区中
        var sdHeight = "";
        let classTyle = "chemicalType,physicalType";
        let classTyleS = classTyle.split(",");
        $(classTyleS).each(function (index, item) {
            let height = $("." + item + " > .secondary_Indicators").height();
            $("." + item + ">.primary_Indicator, ." + item + ">.primary_weight").height(height).css("line-height", height + "px");
            let sIuls = $("." + item + " .secondary_Indicators  ul");
            $(sIuls).each(function (jndex, jtem) {
                let fLi = $(jtem).find("li")[0];
                sdHeight = $(fLi).find(".numericalValue > ul").height();
                let jlis = $(fLi).find("ul").find(">li");
                $(jlis).each(function (kndex, ktem) {
                    let classLs = $(ktem).attr("class");
                    if (classLs.indexOf("ttarget") != -1 || classLs.indexOf("secondary_weight") != -1 || classLs.indexOf("ranges") != -1 || classLs.indexOf("remark") != -1) {
                        $(ktem).height(sdHeight).css("line-height", sdHeight + "px");
                    }
                })

            });

        });


    }

    //得到鼠标坐标
    function getMousePos(event) {
        var x = event.screenX ;
        var y = event.screenY;
        return {'x': x, 'y': y};
    }

    //取消右键点击的默认事件
    document.oncontextmenu = function (e) {
        return false;
    };

    //设置 一级指标和权值的高度
    setKG("");

});